In large-scale computer systems and virtual machine environments, storage devices are required to have extremely high system IO performances using a large amount of volume, and in order to perform parallel analysis of large-capacity data, the storage devices are required to have an extremely high throughput performance exceeding normal performances of a storage device. Further, the required functions of recent storage devices have differed from conventional storage devices. Conventionally, storage devices were required to have data copy (volume copy, snapshot) functions and page-granularity data control (Thin Provisioning, data location control in tiers of storage media) functions. However, along with the enhancement in functions, the storage devices are now required to implement data computation (such as hash value calculation for data de-duplication, calculation for data compression, data search etc.) within the storage device and to reduce the actual amount of capacity or reduce the offload of host computation.
However, costs are increased by designing a large-scale storage device having a highly-functional dedicated processing engine to meet these demands. To overcome this problem, a plurality of inexpensive storage devices are arranged in a row to form the system, but in such arrangement, it is important to bring out performances of mutual storage devices and to distribute the load of data copy and data calculation processes among the plurality of storage devices.
It is even more preferable to suppress the management load of the administrator accompanying the change of settings of the hosts and network or the migration of existing volumes among storage devices, or to clear away the restrictions or dependent relationship of storage devices related to calculation resources which becomes the bottleneck of the performance.
Further, one example of a system in which load distribution is executed is a cluster file system in which a plurality of hosts issue IO requests to a logical volume. The virtual machine of a host is migrated to a different host so as to distribute the load applied on the host.
Another method for distributing the load of disk IO is a method adopting a RAID (Redundant Array of Independent Disks) structure in which data is distributed and stored in a plurality of HDDs (Hard Disk Drives). Another possible method relates to uniting a plurality of HDDs or a plurality of physical volumes provided by the storage devices as a logical volume via logical volume manager (LVM) mounted in a file system of the OS (Operation System). This method enables to perform load distribution astride a plurality of disk array devices.
In addition, according to a prior art technique, it is possible to set up a plurality of disk array devices so that they are recognized as a storage device via a storage virtualization device or a virtualization system of a disk array device. Furthermore, performance optimization within the storage devices or the virtualization system is enabled via tier management in which data is migrated to a volume having an appropriate performance.
Moreover, a load distribution method using a plurality of controllers is taught as prior art technique in the following patent literatures.